﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TA.DotNetUtils
{
	public interface IPropertiesContainer
	{
		object GetValue(string name);
		void SetValue(string name, object value);
	}
	//public class PropertyDefinition
	//{
	//  public string Name { get { } }
	//  public void Get<T>(T t, string name)
	//  {
	//  }
	//  public void Set<T>(T t, string name, object value)
	//  {
	//  }
	//  string _name;
	//}
	//public interface IPropertiesContainer2
	//{
	//  Dictionary<string, PropertyDefinition> Properties { get; }
	//}
	//class Base : IPropertiesContainer2
	//{
	//  public string A { get; set; }
	//  public int B { get; set; }
	//  public Dictionary<string, PropertyDefinition> Properties
	//  {
	//    get
	//    {
	//      Dictionary<string, PropertyDefinition> res = new Dictionary<string, PropertyDefinition>();

	//      res["A"] = new PropertyDefinition();

	//      return res;
	//    }
	//  }
	//}
}
